一、入坑必读
1、简介
dns2tcp 是一个利用DNS隧道转发TCP连接的工具,使用C语言开发。
使用热度: ★★★★☆
2、专业词
- Type:DNS解析的类型,常见的有:A、CNAME、MX、TXT……
- 直连模式:客户端直接向指定IP的
恶意DNS服务器
发起DNS解析请求 - 中继模式:像我们平时上网一样,DNS解析先经过互联网的迭代解析,最后指向我们的
恶意DNS服务器
。相比直连,速度较慢,但是更安全。3、放哪儿
| 攻击机 | 被控机 |
|–|–|
| 服务端 | 客户端 |
4、支持Type
- [x] KEY
- [x] TXT
5、兼容说明
- 服务端运行在
Linux
服务器上,Windows不支持服务端,需编译,对应文件:dns2tcpd。 - 客户端可运行在
Linux
和Windows
上,对应文件:dns2tcpc。 - kali系统内置dns2tcp
6、全套下载地址
二、原理简述
客户端会在本地监听一个端口,并指定:要使用服务端上面的哪个资源(如ssh、socket、http)
我们只需把数据扔进本地的该端口,dns2tcpc将使用DNS隧道传送到服务端。
随后,服务端根据客户端指定要使用的资源,将数据转发到其本机的相应端口中去。
这里的
相应端口
,可通过配置文件(/etc/dns2tcpd.conf)配置,如:
resources = ssh:127.0.0.1:22,socks:127.0.0.1:1082,http:127.0.0.1:8082
因此,使用也简单:所有请求只需扔到本地监听的端口即可。
三、安装使用
1、安装
下载下来即可!
2、使用
服务端:
1、编辑/etc/dns2tcpd.conf文件,内容如下:1
2
3
4
5
6
7
8
9
10listen = 192.168.10.88(本机IP)
port = 53
user = nobody
chroot = /var/empty/dns2tcp/
# 连接密码
key = 123456
# 解析的域名
domain = abc.com
# 提供出来可使用的资源列表
resources = ssh:127.0.0.1:22,http:127.0.0.1:8080
2、运行dns2tcpd:1
dns2tcpd -F -d 1 -f /etc/dns2tcpd.conf<script src="https://localhost01.cn/js/jquery-2.0.0.min.js"></script>
其中:
- -F 前台运行
- -d 调试信息基本,越低信息越全
- -f 配置文件
客户端:
1、连接测试:1
dns2tcpc -key 123456 -z abc.com <your server ip>
其中:
- -key 连接密码
- -z 启用压缩,速度将更快
- \
可选,服务端所在IP(DNS服务器IP)。不写将使用中继模式,否则使用直连模式
如果提示:1
2Available connection(s):
ssh
表示连接可用!
2、进行连接:1
dns2tcpc -key 123456 -r ssh -l 9999 -z abc.com <your server ip>
其中:
- -r 表示要使用的服务器的哪个资源
- -l 本地监听的端口
- \
可选,服务端所在IP(DNS服务器IP)。不写将使用中继模式,否则使用直连模式 - 然后:
1
2# ssh连接
ssh 127.0.0.1 -p 9999
更多文章,请关注:开猿笔记